scrapy -- CrawlSpider类
全部标签 与这个问题类似:stackoverflow:running-multiple-spiders-in-scrapy我想知道,我可以从另一个python程序中运行整个scrapy项目吗?假设我想构建一个需要抓取多个不同站点的完整程序,并且我为每个站点构建了整个scrapy项目。我不想从命令行运行,而是想运行这些蜘蛛并从中获取信息。我可以在python中使用mongoDBok,我已经可以构建包含蜘蛛的scrapy项目,但现在只需将它们全部合并到一个应用程序中。我想运行一次应用程序,并有能力从我自己的程序控制多个蜘蛛为什么要这样做?好吧,这个应用程序也可以使用API连接到其他站点,并且需要实时
我正在尝试从站点抓取数据。数据的结构是多个对象,每个对象都有一组数据。例如,有姓名、年龄和职业的人。我的问题是这些数据在网站中分为两个级别。第一页是,比如说,一个姓名和年龄列表,带有指向每个人个人资料页面的链接。他们的个人资料页面列出了他们的职业。我已经有一个用python编写的scrapy蜘蛛,它可以从顶层收集数据并通过多个分页爬行。但是,我如何从内页收集数据,同时保持它链接到合适的对象?目前,我将输出结构化为json{[name='name',age='age',occupation='occupation'],[name='name',age='age',occupation='
我的爬虫是这样设置的classCustomSpider(CrawlSpider):name='custombot'allowed_domains=['www.domain.com']start_urls=['http://www.domain.com/some-url']rules=(Rule(SgmlLinkExtractor(allow=r'.*?something/'),callback='do_stuff',follow=True),)defstart_requests(self):returnRequest('http://www.domain.com/some-other-
我使用scrapy-splash抓取网页,并在docker上运行splash服务。常见的:dockerrun-p8050:8050scrapinghub/splash--max-timeout3600但是我遇到了504错误。"error":{"info":{"timeout":30},"description":"Timeoutexceededrenderingpage","error":504,"type":"GlobalTimeoutError"}尽管我尝试添加splash.resource_timeout、request:set_timeout或SPLASH_URL='http:
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion到目前为止,我一直在使用scrapy和编写自定义类来处理使用ajax的网站。但如果我使用scrapy-splash,据我所知,它会在javascript之后抓取呈现的html,我的爬虫速度会受到显着影响吗?用scrapy抓取vanillahtml页面与用scrapy-splash渲染html所花费的时间有什么区别?最后,scrapy-splash和Selenium相比如何?
我是Python和Scrapy的新手,正在学习Scrapy教程。我已经能够通过使用DOS界面并键入以下内容来创建我的项目:scrapystartprojectdmoz教程后面提到的Crawl命令:scrapycrawldmoz.org但每次我尝试运行它时,我都会收到一条消息,指出这不是一个合法的命令。进一步环顾四周,看起来我需要进入一个项目,而这正是我无法弄清楚的。我尝试将目录更改为我在startproject中创建的“dmoz”文件夹,但它根本无法识别Scrapy。我确定我遗漏了一些明显的东西,我希望有人能指出来。 最佳答案 您必
我想抓取一个只支持发布数据的网站。我想发送查询参数在所有请求的发布数据中。如何实现? 最佳答案 可以使用scrapy的Request发出POST请求或FormRequest类。另外,考虑使用start_requests()方法而不是start_urls属性。例子:fromscrapy.httpimportFormRequestclassmyspiderSpider(Spider):name="myspider"allowed_domains=["www.example.com"]defstart_requests(self):ret
我想我会请求很大的帮助,因为我几天都在为这个问题苦苦挣扎。我尝试了所有可能的(据我所知)方法,但仍然没有结果。我做错了什么,但仍然无法弄清楚它是什么。所以感谢每一位愿意参加这次冒险的人。首先要做的事情:我正在尝试使用POST方法将信息发布到delta.com上的表单与此网站一样,它很复杂,因为它们涉及session、cookie和Javascript,因此可能会出现问题。我正在使用在stackoverflow中找到的代码示例:UsingMultipartPostHandlertoPOSTform-datawithPython这是我为增量网页调整的代码。fromscrapy.select
这应该很容易,但我卡住了。LinkText2|LinkText3|LinkText4|LinkText5|LinkTextNext>我正在尝试使用Scrapy(Basespider)根据它的链接文本选择一个链接:nextPage=HtmlXPathSelector(response).select("//div[@class='paginationControl']/a/@href").re("(.+)*?Next")例如,我想根据它的文本是“LinkTextNext”这一事实来选择下一页链接。有什么想法吗? 最佳答案 使用a[co
我想从具有TextFields、Buttons等的网站上抓取数据。我的要求是填写文本字段并提交表单以获取结果,然后从结果页面抓取数据点。我想知道Scrapy是否有这个功能,或者是否有人可以推荐一个Python库来完成这个任务?(已编辑)我想从以下网站抓取数据:http://a836-acris.nyc.gov/DS/DocumentSearch/DocumentType我的要求是从ComboBoxes中选择值并点击搜索按钮并从结果页面中抓取数据点。附言我正在使用seleniumFirefox驱动程序从其他网站抓取数据,但该解决方案并不好,因为seleniumFirefox驱动程序依赖于